// 子系统管理
export interface ApplicationStateType {
  appTypeEnum: Record<number, string>
  statusEnum: Record<number, string>
}

// 部门、岗位
export interface SystemDeptStateType {
  parentDeptSelectList: Record<number, string>
  parentDeptEnum: Record<number, string>
}

// 岗位管理 所属租户枚举
export interface tenantSelectEnum {
  tenantId: string
  tenantName: string
}

// 岗位类型 枚举
export interface categoryEnum {
  dictKey?: string
  dictValue?: string
}

// 岗位下拉列表
export interface postEnum {
  id?: string
  postName?: string
}

// 岗位管理 vuex
export interface SystemPostStateType {
  categorySelectList: categoryEnum[] // 岗位类型 下拉选项
  categoryEnum: categoryEnum // 岗位类型 枚举
  tenantSelectList: tenantSelectEnum[] // 所属租户 下拉选项
  tenantSelectEnum: tenantSelectEnum | Record<string, unknown> // 所属租户 枚举
  postSelectList: postEnum[] // 岗位下拉列表
  postEnum: postEnum // 岗位 枚举
}

// 上级字典 枚举
export interface parentDictEnum {
  key: string
  title: string
}

// 字典管理 vuex
export interface SystemDictStateType {
  parentDictSelectList: parentDictEnum[] // 岗位类型 下拉选项
  parentDictEnum: parentDictEnum | Record<string, unknown> // 岗位类型 枚举
}

// 菜单树结构下拉列表
export interface MenuTreeType {
  title: string
  key: string
  children: MenuTreeType[]
}

// 菜单类型
export interface MenuTypeEnum {
  dictKey?: string
  dictValue?: string
}

// 按钮功能枚举
export interface ButtonFeaturesEnum {
  key: number
  value: string
}

// 新窗口枚举
export interface NewWindowEnum {
  key: number
  value: string
}

export interface MenuSystemTypeEnum {
  key: number
  value: string
}

// 菜单管理
export interface SystemMenuStateType {
  menuTreeSelectList: MenuTreeType[]
  menuTypeSelectList: MenuTypeEnum[]
  menuTypeEnum: MenuTypeEnum
  buttonFeaturesSelectList: ButtonFeaturesEnum[]
  buttonFeaturesEnum: ButtonFeaturesEnum
  newWindowSelectList: NewWindowEnum[]
  newWindowEnum: NewWindowEnum
  menuSystemTypeSelectList: MenuSystemTypeEnum[]
  menuSystemTypeEnum: MenuSystemTypeEnum
}

// 所属租户枚举
export interface BelongTenantEnum {
  tenantId?: string
  tenantName?: string
}

// 用户性别枚举
export interface UserSexEnum {
  key?: number
  value?: string
}

// 用户管理
export interface SystemUserStateType {
  belongTenantSelectList: BelongTenantEnum[]
  belongTenantEnum: BelongTenantEnum
  userSexSelectList: UserSexEnum[]
  userSexEnum: UserSexEnum
}

// 用户角色枚举
export interface UserRoleEnum {
  id?: string
  title?: string
}

// 角色管理
export interface SystemRoleStateType {
  userRoleSelectList: UserRoleEnum[]
  userRoleEnum: UserRoleEnum
}

export interface templateStateType {
  id?: string
}

export interface adviceStateType {
  id?: string
}

export interface sendStateType {
  id?: string
}

export interface noticeStateType {
  id?: string
}
export interface diceStateType {
  tenantSeleceOpt?: categoryEnum[]
}
